home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue37 / DynArr / Array5U.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-07-03  |  1.7 KB  |  81 lines

  1. unit Array5U;
  2.  
  3. interface
  4.  
  5. uses
  6.   WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls,
  7.   Forms, Dialogs, Grids, StdCtrls, Array5U2;
  8.  
  9. type
  10.   TArray5MainForm = class(TForm)
  11.     ListBox1: TListBox;
  12.     btnResizeArray: TButton;
  13.     btnFillArray: TButton;
  14.     procedure FormCreate(Sender: TObject);
  15.     procedure FormDestroy(Sender: TObject);
  16.     procedure btnResizeArrayClick(Sender: TObject);
  17.     procedure btnFillArrayClick(Sender: TObject);
  18.   private
  19.     MyArray: TIntegerArray;
  20.     procedure DisplayArray;
  21.   end;
  22.  
  23. var
  24.   Array5MainForm: TArray5MainForm;
  25.  
  26. implementation
  27.  
  28. {$R *.DFM}
  29.  
  30. procedure TArray5MainForm.FormCreate(Sender: TObject);
  31. begin
  32.   MyArray := TIntegerArray.Create(
  33.     StrToInt(InputBox(
  34.       'Enter your array dimensions',
  35.       'Number of elements:', '10')));
  36.   btnFillArray.Click; { Pretend to push the array filling button }
  37.   DisplayArray
  38. end;
  39.  
  40. procedure TArray5MainForm.FormDestroy(Sender: TObject);
  41. begin
  42.   MyArray.Free
  43. end;
  44.  
  45. procedure TArray5MainForm.btnResizeArrayClick(Sender: TObject);
  46. begin
  47.   MyArray.Size := StrToInt(InputBox(
  48.     'Enter your new array dimensions',
  49.     'Number of elements:', '20'));
  50.   DisplayArray
  51. end;
  52.  
  53. procedure TArray5MainForm.btnFillArrayClick(Sender: TObject);
  54. var
  55.   Loop: Integer;
  56. begin
  57.   for Loop := 0 to Pred(MyArray.Size) do
  58.     MyArray[Loop] := Loop;
  59.   DisplayArray
  60. end;
  61.  
  62. procedure TArray5MainForm.DisplayArray;
  63. var
  64.   Loop: Integer;
  65. begin
  66.   with ListBox1, Items do
  67.   begin
  68.     BeginUpdate;
  69.     try
  70.       Clear;
  71.       for Loop := 0 to Pred(MyArray.Size) do
  72.         Add(IntToStr(MyArray[Loop]));
  73.       ItemIndex := Pred(MyArray.Size)
  74.     finally
  75.       EndUpdate
  76.     end
  77.   end
  78. end;
  79.  
  80. end.
  81.